package com.plan.service.card;

import com.plan.base.entity.Result;
import com.plan.controller.card.request.BaseReq;
import com.plan.controller.card.request.CopyRepositoryTaskReq;
import com.plan.controller.card.response.TaskListVO;
import com.plan.controller.user.response.UserVO;
import com.plan.entity.card.MyTask;
import com.plan.entity.card.Task;

import java.util.List;

public interface TaskRepositoryService {
    Result<List<TaskListVO>> sysListFromCache(BaseReq req);

    Result<List<TaskListVO>> myList(BaseReq req);

    Result<Long> insert(MyTask task);

    Result<Long> delete(Long id, UserVO user);

    Result<Long> copyRepositoryTask(CopyRepositoryTaskReq req, UserVO user);

    Result<Long> addAfter(MyTask task, UserVO user);

    void clearMyTaskCache(Long teamId, Long cardId);
}
